#pragma once
#include "RenderTarget.h"

namespace Graphics{
	class DX11RenderTarget : public RenderTarget{
	public:
		DX11RenderTarget(Texture2DPtr texture, RenderContext *handle);
		virtual ~DX11RenderTarget();
	
		void clear(bool clearRT, bool clearDS, RenderContext *handle);
		void setRenderTarget(bool clearRT, bool clearDS, RenderContext *handle);
		void resolveIntoTexture(Texture2DPtr texture, RenderContext *handle);
		void resolveIntoRenderTarget(RenderTargetPtr renderTarget, RenderContext *handle);
	private:
		ID3D11RenderTargetView *m_renderTarget;
		ID3D11DepthStencilView *m_depthStencil;

		ID3D11Texture2D *m_depthStencilTexture;
	};
}